<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
<meta name="theme-color" content="#222">
<meta name="generator" content="Hexo 4.2.1">
  <link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png">
  <link rel="icon" type="image/png" sizes="32x32" href="/images/dute_favicon_32x32.png">
  <link rel="icon" type="image/png" sizes="16x16" href="/images/dute_favicon_16x16.png">
  <link rel="mask-icon" href="/images/logo.svg" color="#222">
  <link rel="manifest" href="/images/manifest.json">
  <meta name="msapplication-config" content="/images/browserconfig.xml">
  <meta http-equiv="Cache-Control" content="no-transform">
  <meta http-equiv="Cache-Control" content="no-siteapp">
  <meta name="google-site-verification" content="mpI5dkydstZXl6UcDCppqktXK0bbvqdZ6LkZ3KNk4Iw">
  <meta name="baidu-site-verification" content="code-a1LksZX2Ds">

<link rel="stylesheet" href="/css/main.css">


<link rel="stylesheet" href="/lib/font-awesome/css/font-awesome.min.css">
  <link rel="stylesheet" href="//cdn.jsdelivr.net/gh/fancyapps/fancybox@3/dist/jquery.fancybox.min.css">

<script id="hexo-configurations">
    var NexT = window.NexT || {};
    var CONFIG = {"hostname":"whitestore.top","root":"/","scheme":"Gemini","version":"7.8.0","exturl":true,"sidebar":{"position":"left","display":"post","padding":18,"offset":12,"onmobile":false},"copycode":{"enable":true,"show_result":false,"style":null},"back2top":{"enable":true,"sidebar":true,"scrollpercent":true},"bookmark":{"enable":false,"color":"#222","save":"auto"},"fancybox":true,"mediumzoom":false,"lazyload":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"algolia":{"hits":{"per_page":10},"labels":{"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}},"localsearch":{"enable":true,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},"motion":{"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}},"path":"search.xml"};
  </script>

  <meta name="description" content="JVM相关参数解释">
<meta property="og:type" content="article">
<meta property="og:title" content="【JVM】Try to Avoid -XX UseGCLogFileRotation">
<meta property="og:url" content="https://whitestore.top/2023/02/02/usegclogfilerotation/index.html">
<meta property="og:site_name" content="爱看书的阿东">
<meta property="og:description" content="JVM相关参数解释">
<meta property="og:locale" content="zh_CN">
<meta property="article:published_time" content="2023-02-02T04:14:30.000Z">
<meta property="article:modified_time" content="2023-07-16T06:28:09.248Z">
<meta property="article:author" content="阿东">
<meta property="article:tag" content="UseGCLogFileRotation">
<meta property="article:tag" content="jvm">
<meta name="twitter:card" content="summary">

<link rel="canonical" href="https://whitestore.top/2023/02/02/usegclogfilerotation/">


<script id="page-configurations">
  // https://hexo.io/docs/variables.html
  CONFIG.page = {
    sidebar: "",
    isHome : false,
    isPost : true,
    lang   : 'zh-CN'
  };
</script>

  <title>【JVM】Try to Avoid -XX UseGCLogFileRotation | 爱看书的阿东</title>
  






  <noscript>
  <style>
  .use-motion .brand,
  .use-motion .menu-item,
  .sidebar-inner,
  .use-motion .post-block,
  .use-motion .pagination,
  .use-motion .comments,
  .use-motion .post-header,
  .use-motion .post-body,
  .use-motion .collection-header { opacity: initial; }

  .use-motion .site-title,
  .use-motion .site-subtitle {
    opacity: initial;
    top: initial;
  }

  .use-motion .logo-line-before i { left: initial; }
  .use-motion .logo-line-after i { right: initial; }
  </style>
</noscript>

<link rel="alternate" href="/atom.xml" title="爱看书的阿东" type="application/atom+xml">
</head>

<body itemscope itemtype="http://schema.org/WebPage">
  <div class="container use-motion">
    <div class="headband"></div>

    <header class="header" itemscope itemtype="http://schema.org/WPHeader">
      <div class="header-inner"><div class="site-brand-container">
  <div class="site-nav-toggle">
    <div class="toggle" aria-label="切换导航栏">
      <span class="toggle-line toggle-line-first"></span>
      <span class="toggle-line toggle-line-middle"></span>
      <span class="toggle-line toggle-line-last"></span>
    </div>
  </div>

  <div class="site-meta">

    <a href="/" class="brand" rel="start">
      <span class="logo-line-before"><i></i></span>
      <h1 class="site-title">爱看书的阿东</h1>
      <span class="logo-line-after"><i></i></span>
    </a>
      <p class="site-subtitle" itemprop="description">赐他一块白色石头，石头上写着新名</p>
  </div>

  <div class="site-nav-right">
    <div class="toggle popup-trigger">
        <i class="fa fa-search fa-fw fa-lg"></i>
    </div>
  </div>
</div>




<nav class="site-nav">
  <ul id="menu" class="menu">
        <li class="menu-item menu-item-home">

    <a href="/" rel="section"><i class="fa fa-fw fa-home"></i>首页</a>

  </li>
        <li class="menu-item menu-item-tags">

    <a href="/tags/" rel="section"><i class="fa fa-fw fa-tags"></i>标签</a>

  </li>
        <li class="menu-item menu-item-categories">

    <a href="/categories/" rel="section"><i class="fa fa-fw fa-th"></i>分类</a>

  </li>
        <li class="menu-item menu-item-archives">

    <a href="/archives/" rel="section"><i class="fa fa-fw fa-archive"></i>归档</a>

  </li>
        <li class="menu-item menu-item-sitemap">

    <a href="/sitemap.xml" rel="section"><i class="fa fa-fw fa-sitemap"></i>站点地图</a>

  </li>
      <li class="menu-item menu-item-search">
        <a role="button" class="popup-trigger"><i class="fa fa-search fa-fw"></i>搜索
        </a>
      </li>
  </ul>
</nav>



  <div class="search-pop-overlay">
    <div class="popup search-popup">
        <div class="search-header">
  <span class="search-icon">
    <i class="fa fa-search"></i>
  </span>
  <div class="search-input-container">
    <input autocomplete="off" autocapitalize="off"
           placeholder="搜索..." spellcheck="false"
           type="search" class="search-input">
  </div>
  <span class="popup-btn-close">
    <i class="fa fa-times-circle"></i>
  </span>
</div>
<div id="search-result">
  <div id="no-result">
    <i class="fa fa-spinner fa-pulse fa-5x fa-fw"></i>
  </div>
</div>

    </div>
  </div>

</div>
    </header>

    

  <span class="exturl github-corner" data-url="aHR0cHM6Ly9naXRodWIuY29tL2xhenlUaW1lcw==" title="Follow me on GitHub" aria-label="Follow me on GitHub"><svg width="80" height="80" viewBox="0 0 250 250" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></span>


    <main class="main">
      <div class="main-inner">
        <div class="content-wrap">
          

          <div class="content post posts-expand">
            

    
  
  
  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="https://whitestore.top/2023/02/02/usegclogfilerotation/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="/images/avatar.gif">
      <meta itemprop="name" content="阿东">
      <meta itemprop="description" content="随遇而安">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="爱看书的阿东">
    </span>
      <header class="post-header">
        <h1 class="post-title" itemprop="name headline">
          【JVM】Try to Avoid -XX UseGCLogFileRotation
        </h1>

        <div class="post-meta">
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="fa fa-calendar-o"></i>
              </span>
              <span class="post-meta-item-text">发表于</span>

              <time title="创建时间：2023-02-02 12:14:30" itemprop="dateCreated datePublished" datetime="2023-02-02T12:14:30+08:00">2023-02-02</time>
            </span>
              <span class="post-meta-item">
                <span class="post-meta-item-icon">
                  <i class="fa fa-calendar-check-o"></i>
                </span>
                <span class="post-meta-item-text">更新于</span>
                <time title="修改时间：2023-07-16 14:28:09" itemprop="dateModified" datetime="2023-07-16T14:28:09+08:00">2023-07-16</time>
              </span>
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="fa fa-folder-o"></i>
              </span>
              <span class="post-meta-item-text">分类于</span>
                <span itemprop="about" itemscope itemtype="http://schema.org/Thing">
                  <a href="/categories/JVM/" itemprop="url" rel="index"><span itemprop="name">JVM</span></a>
                </span>
            </span>

          
            <span class="post-meta-item" title="阅读次数" id="busuanzi_container_page_pv" style="display: none;">
              <span class="post-meta-item-icon">
                <i class="fa fa-eye"></i>
              </span>
              <span class="post-meta-item-text">阅读次数：</span>
              <span id="busuanzi_value_page_pv"></span>
            </span>
  
  <span class="post-meta-item">
    
      <span class="post-meta-item-icon">
        <i class="fa fa-comment-o"></i>
      </span>
      <span class="post-meta-item-text">Valine：</span>
    
    <a title="valine" href="/2023/02/02/usegclogfilerotation/#valine-comments" itemprop="discussionUrl">
      <span class="post-comments-count valine-comment-count" data-xid="/2023/02/02/usegclogfilerotation/" itemprop="commentCount"></span>
    </a>
  </span>
  
  <br>
            <span class="post-meta-item" title="本文字数">
              <span class="post-meta-item-icon">
                <i class="fa fa-file-word-o"></i>
              </span>
                <span class="post-meta-item-text">本文字数：</span>
              <span>3.7k</span>
            </span>
            <span class="post-meta-item" title="阅读时长">
              <span class="post-meta-item-icon">
                <i class="fa fa-clock-o"></i>
              </span>
                <span class="post-meta-item-text">阅读时长 &asymp;</span>
              <span>3 分钟</span>
            </span>
            <div class="post-description">JVM相关参数解释</div>

        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody">

      
        <h1 id="Try-to-Avoid-XX-UseGCLogFileRotation"><a href="#Try-to-Avoid-XX-UseGCLogFileRotation" class="headerlink" title="Try to Avoid -XX:+UseGCLogFileRotation"></a>Try to Avoid -XX:+UseGCLogFileRotation</h1><p>Source：<span class="exturl" data-url="aHR0cHM6Ly9kem9uZS5jb20vYXJ0aWNsZXMvdHJ5LXRvLWF2b2lkLXh4dXNlZ2Nsb2dmaWxlcm90YXRpb24=" title="https://dzone.com/articles/try-to-avoid-xxusegclogfilerotation">https://dzone.com/articles/try-to-avoid-xxusegclogfilerotation<i class="fa fa-external-link"></i></span></p>
<p>Developers take advantage of the JVM argument -XX:+UseGCLogFileRotation to rotate GC log files.</p>
<p>开发人员利用JVM参数-XX:+UseGCLogFileRotation来递换GC日志文件。</p>
<figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/home/GCEASY/gc.log -</span><br><span class="line">XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=<span class="number">5</span> -XX:GCLogFileSize=<span class="number">20</span>M<span class="string">"</span></span><br></pre></td></tr></table></figure>

<p>As shown above, the JVM will rotate the GC log file whenever its size reaches 20MB. It will generate up to five files, with extensions <code>gc.log.0</code>,  <code>gc.log.1</code>, <code>gc.log.2</code>, <code>gc.log.3</code>, and <code>gc.log.4</code>.</p>
<p>如上所示的配置会产生5个日志文件，并且每个日志文件有20M。</p>
<a id="more"></a>

<h1 id="Losing-Old-GC-Logs-日志丢失"><a href="#Losing-Old-GC-Logs-日志丢失" class="headerlink" title="Losing Old GC Logs 日志丢失"></a>Losing Old GC Logs 日志丢失</h1><p>Suppose you configured  <code>-XX:NumberOfGCLogFiles=5</code>, then over a period of time, five GC log files will be created:</p>
<p>假设你配置了<code>-XX:NumberOfGCLogFiles=5</code>，那么在一段时期内，将创建五个GC日志文件。</p>
<ul>
<li><strong>gc.log.0</strong> ← <em>oldest GC Log content</em></li>
<li><strong>gc.log.1</strong></li>
<li><strong>gc.log.2</strong></li>
<li><strong>gc.log.3</strong></li>
<li><strong>gc.log.4</strong> ← <em>latest GC Log content</em></li>
</ul>
<p>The most recent GC log contents will be written to <code>gc.log.4</code> and old GC log contents will be present in <code>gc.log.0</code>.</p>
<p>最新的GC日志内容将被写入<code>gc.log.4</code>，旧的GC日志内容将出现在<code>gc.log.0</code>。</p>
<p>When the application starts to generate more GC logs than the configured  <code>-XX:NumberOfGCLogFiles</code>, in this case, five, then old GC log contents in <code>gc.log.0</code> will be deleted. New GC events will be written to  <code>gc.log.0</code>. It means that you will end up not having all the generated GC logs. You will lose the visibility of all events.</p>
<p>当应用程序配置的<code>-XX:NumberOfGCLogFiles</code>产生更多的GC日志时（在本例中是5个），<code>gc.log.0</code>中的旧GC日志内容将被删除。新的GC日志将被写入<code>gc.log.0</code>。这意味着会存在旧日志文件的覆盖现象，将<strong>失去所有日志的可见性</strong>。</p>
<h1 id="Mixed-Up-GC-Logs-混杂日志"><a href="#Mixed-Up-GC-Logs-混杂日志" class="headerlink" title="Mixed-Up GC Logs 混杂日志"></a>Mixed-Up GC Logs 混杂日志</h1><p>Suppose an application has created five GC log files, including:</p>
<p>假设一个应用程序创建了五个GC日志文件，包括：</p>
<ul>
<li><strong>gc.log.0</strong></li>
<li><strong>gc.log.1</strong></li>
<li><strong>gc.log.2</strong></li>
<li><strong>gc.log.3</strong></li>
<li><strong>gc.log.4</strong></li>
</ul>
<p>Then, let’s say you are restarting the application. Now, new GC logs will be written to <code>gc.log.0</code> file and old GC log content will be present in <code>gc.log.1</code>, <code>gc.log.2</code>, <code>gc.log.3</code>, <code>gc.log.4</code>, etc.</p>
<p>然后，假设你正在重启应用程序。现在新的GC日志将被写入<code>gc.log.0</code>文件，而旧的GC日志内容将出现在<code>gc.log.1</code>、<code>gc.log.2</code>、<code>gc.log.3</code>、<code>gc.log.4</code>。</p>
<ul>
<li><strong>gc.log.0</strong> ← GC log file content after restart</li>
<li><strong>gc.log.1</strong> ← GC log file content before restart</li>
<li><strong>gc.log.2</strong> ← GC log file content before restart</li>
<li><strong>gc.log.3</strong> ← GC log file content before restart</li>
<li><strong>gc.log.4</strong> ← GC log file content before restart</li>
</ul>
<p>So, your new GC log contents get mixed up with old GC logs. Thus, to mitigate this problem, you might have to move all the old GC logs to a different folder before you restart the application.</p>
<p>所以新GC日志和旧的GC日志会混合在一起，为了缓解这个问题，你可能要在重启应用程序之前把所有旧的GC日志移到一个不同的文件夹里。</p>
<h1 id="Forwarding-GC-Logs-to-a-Central-Location-将GC日志转发到一个中心位置"><a href="#Forwarding-GC-Logs-to-a-Central-Location-将GC日志转发到一个中心位置" class="headerlink" title="Forwarding GC Logs to a Central Location 将GC日志转发到一个中心位置"></a>Forwarding GC Logs to a Central Location 将GC日志转发到一个中心位置</h1><p>In this approach, the current active file to which GC logs are written is marked with the extension  <code>.current</code>. For example, if GC events are currently written to the file <code>gc.log.3</code>, it would be named as: <code>gc.log.3.current</code>.</p>
<p>在这种方法中，当前写入GC日志的活动文件被标记为扩展名<code>.current</code>。例如，如果GC事件当前被写入文件<code>gc.log.3</code>，它将被命名为。 <code>gc.log.3.current</code>。</p>
<p>If you want to forward GC logs from each server to a central location, then most DevOps engineers use  <code>rsyslog</code>. However, this file naming convention poses a significant challenge to use <code>rsyslog</code>, as <span class="exturl" data-url="aHR0cDovL3d3dy5wbGFuZXRjb2JhbHQubmV0L3NkYi9mb3J3YXJkX2djX2xvZ3Muc2h0bWw=" title="http://www.planetcobalt.net/sdb/forward_gc_logs.shtml">described in this blog<i class="fa fa-external-link"></i></span>.</p>
<p>如果你想把每台服务器的GC日志转发到一个中心位置，那么大多数DevOps工程师会使用<code>rsyslog</code>。然而，这种文件命名惯例给使用<code>rsyslog</code>带来了巨大的挑战，正如<span class="exturl" data-url="aHR0cDovL3d3dy5wbGFuZXRjb2JhbHQubmV0L3NkYi9mb3J3YXJkX2djX2xvZ3Muc2h0bWw=" title="http://www.planetcobalt.net/sdb/forward_gc_logs.shtml">这篇博客所述<i class="fa fa-external-link"></i></span>。</p>
<h1 id="Tooling-工具"><a href="#Tooling-工具" class="headerlink" title="Tooling 工具"></a>Tooling 工具</h1><p>Now, to analyze the GC log file using the GC tools such as (<span class="exturl" data-url="aHR0cHM6Ly9nY2Vhc3kuaW8v" title="https://gceasy.io/">GCeasy<i class="fa fa-external-link"></i></span>, GCViewer, etc.), you will have to upload multiple GC log files instead of just one single GC Log file.</p>
<p>现在，为了使用GC工具分析GC日志文件，如（<span class="exturl" data-url="aHR0cHM6Ly9nY2Vhc3kuaW8v" title="https://gceasy.io/">GCeasy<i class="fa fa-external-link"></i></span>, GCViewer等），将不得不上传多个GC日志文件，而不是只有一个GC日志文件。</p>
<blockquote>
<p>显然非常麻烦并且非常反人类。</p>
</blockquote>
<h1 id="Recommended-Solution-推荐方案"><a href="#Recommended-Solution-推荐方案" class="headerlink" title="Recommended Solution 推荐方案"></a>Recommended Solution 推荐方案</h1><p>We can suffix the GC log file with the time stamp at which the JVM was restarted, then the GC Log file locations will become unique. Then, new GC logs will not override the old GC logs. It can be achieved by suffixing <code>%t</code> to the GC log file name, as shown below:</p>
<p>我们可以在GC日志文件后缀加入<strong>JVM重启的时间戳</strong>（解决这个问题），那么GC日志文件的位置将变得独一无二。然后新的GC日志就不会覆盖旧的GC日志了。这可以通过在GC日志文件名后缀<code>%t</code>来实现，如下所示：</p>
<blockquote>
<p>“-XX:+PrintGCDetails -XX:+PrintGCDateStamps <strong>-Xloggc:/home/GCEASY/gc-%t.log</strong>“</p>
</blockquote>
<p> <code>%t</code> suffixes timestamp to the GC log file in the format:  <code>YYYY-MM-DD_HH-MM-SS</code>. So, the generated GC log file name will start to look like: <code>gc-2019-01-29_20-41-47.log</code>.</p>
<p> <code>%t</code>后缀为GC日志文件的时间戳，格式为:  <code>yyyy-mm-dd_hh-mm-ss</code>。因此，生成的GC日志文件名将开始看起来像： <code>gc-2019-01-29_20-41-47.log</code>.</p>
<p>This simple solution addresses all the shortcomings of <code>-XX:+UseGCLogFileRotation</code>.</p>
<p><strong>这个简单的解决方案解决了<code>-XX:+UseGCLogFileRotation</code>的所有缺点。</strong></p>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/kity@2.0.4/dist/kity.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/kityminder-core@1.4.50/dist/kityminder.core.min.js"></script><script defer="true" type="text/javascript" src="https://cdn.jsdelivr.net/npm/hexo-simple-mindmap@0.2.0/dist/mindmap.min.js"></script><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/hexo-simple-mindmap@0.2.0/dist/mindmap.min.css">
    </div>

    
    
    
        

<div>
<ul class="post-copyright">
  <li class="post-copyright-author">
    <strong>本文作者： </strong>lazytime
  </li>
  <li class="post-copyright-link">
    <strong>本文链接：</strong>
    <a href="https://whitestore.top/2023/02/02/usegclogfilerotation/" title="【JVM】Try to Avoid -XX UseGCLogFileRotation">https://whitestore.top/2023/02/02/usegclogfilerotation/</a>
  </li>
  <li class="post-copyright-license">
    <strong>版权声明： </strong>本博客所有文章除特别声明外，均采用 <span class="exturl" data-url="aHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5jLzQuMC96aC1DTg=="><i class="fa fa-fw fa-creative-commons"></i>BY-NC</span> 许可协议。转载请注明出处！
  </li>
</ul>
</div>


      <footer class="post-footer">
          <div class="post-tags">
              <a href="/tags/JVM/" rel="tag"># JVM</a>
          </div>

        


        
    <div class="post-nav">
      <div class="post-nav-item">
    <a href="/2023/01/28/tldrcheat/" rel="prev" title="【Linux】Linux命令快速学习神器tldr、cheat介绍和使用">
      <i class="fa fa-chevron-left"></i> 【Linux】Linux命令快速学习神器tldr、cheat介绍和使用
    </a></div>
      <div class="post-nav-item">
    <a href="/2023/02/20/rocketjiaoben/" rel="next" title="【RocketMq】NameServ启动脚本分析（Ver4.9.4）">
      【RocketMq】NameServ启动脚本分析（Ver4.9.4） <i class="fa fa-chevron-right"></i>
    </a></div>
    </div>
      </footer>
    
  </article>
  
  
  



          </div>
          
    <div class="comments" id="valine-comments"></div>

<script>
  window.addEventListener('tabs:register', () => {
    let { activeClass } = CONFIG.comments;
    if (CONFIG.comments.storage) {
      activeClass = localStorage.getItem('comments_active') || activeClass;
    }
    if (activeClass) {
      let activeTab = document.querySelector(`a[href="#comment-${activeClass}"]`);
      if (activeTab) {
        activeTab.click();
      }
    }
  });
  if (CONFIG.comments.storage) {
    window.addEventListener('tabs:click', event => {
      if (!event.target.matches('.tabs-comment .tab-content .tab-pane')) return;
      let commentClass = event.target.classList[1];
      localStorage.setItem('comments_active', commentClass);
    });
  }
</script>

        </div>
          
  
  <div class="toggle sidebar-toggle">
    <span class="toggle-line toggle-line-first"></span>
    <span class="toggle-line toggle-line-middle"></span>
    <span class="toggle-line toggle-line-last"></span>
  </div>

  <aside class="sidebar">
    <div class="sidebar-inner">

      <ul class="sidebar-nav motion-element">
        <li class="sidebar-nav-toc">
          文章目录
        </li>
        <li class="sidebar-nav-overview">
          站点概览
        </li>
      </ul>

      <!--noindex-->
      <div class="post-toc-wrap sidebar-panel">
          <div class="post-toc motion-element"><ol class="nav"><li class="nav-item nav-level-1"><a class="nav-link" href="#Try-to-Avoid-XX-UseGCLogFileRotation"><span class="nav-number">1.</span> <span class="nav-text">Try to Avoid -XX:+UseGCLogFileRotation</span></a></li><li class="nav-item nav-level-1"><a class="nav-link" href="#Losing-Old-GC-Logs-日志丢失"><span class="nav-number">2.</span> <span class="nav-text">Losing Old GC Logs 日志丢失</span></a></li><li class="nav-item nav-level-1"><a class="nav-link" href="#Mixed-Up-GC-Logs-混杂日志"><span class="nav-number">3.</span> <span class="nav-text">Mixed-Up GC Logs 混杂日志</span></a></li><li class="nav-item nav-level-1"><a class="nav-link" href="#Forwarding-GC-Logs-to-a-Central-Location-将GC日志转发到一个中心位置"><span class="nav-number">4.</span> <span class="nav-text">Forwarding GC Logs to a Central Location 将GC日志转发到一个中心位置</span></a></li><li class="nav-item nav-level-1"><a class="nav-link" href="#Tooling-工具"><span class="nav-number">5.</span> <span class="nav-text">Tooling 工具</span></a></li><li class="nav-item nav-level-1"><a class="nav-link" href="#Recommended-Solution-推荐方案"><span class="nav-number">6.</span> <span class="nav-text">Recommended Solution 推荐方案</span></a></li></ol></div>
      </div>
      <!--/noindex-->

      <div class="site-overview-wrap sidebar-panel">
        <div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
  <p class="site-author-name" itemprop="name">阿东</p>
  <div class="site-description" itemprop="description">随遇而安</div>
</div>
<div class="site-state-wrap motion-element">
  <nav class="site-state">
      <div class="site-state-item site-state-posts">
          <a href="/archives/">
        
          <span class="site-state-item-count">239</span>
          <span class="site-state-item-name">日志</span>
        </a>
      </div>
      <div class="site-state-item site-state-categories">
            <a href="/categories/">
          
        <span class="site-state-item-count">36</span>
        <span class="site-state-item-name">分类</span></a>
      </div>
      <div class="site-state-item site-state-tags">
            <a href="/tags/">
          
        <span class="site-state-item-count">37</span>
        <span class="site-state-item-name">标签</span></a>
      </div>
  </nav>
</div>
  <div class="links-of-author motion-element">
      <span class="links-of-author-item">
        <span class="exturl" data-url="aHR0cHM6Ly9naXRodWIuY29tL2xhenlUaW1lcw==" title="GitHub → https:&#x2F;&#x2F;github.com&#x2F;lazyTimes"><i class="fa fa-fw fa-github"></i>GitHub</span>
      </span>
      <span class="links-of-author-item">
        <span class="exturl" data-url="bWFpbHRvOjEwOTc0ODM1MDhAcXEuY29t" title="E-Mail → mailto:1097483508@qq.com"><i class="fa fa-fw fa-envelope"></i>E-Mail</span>
      </span>
  </div>


  <div class="links-of-blogroll motion-element">
    <div class="links-of-blogroll-title">
      <i class="fa fa-fw fa-link"></i>
      友情链接
    </div>
    <ul class="links-of-blogroll-list">
        <li class="links-of-blogroll-item">
          <span class="exturl" data-url="aHR0cHM6Ly93d3cuNTJwb2ppZS5jbi9ob21lLnBocD9tb2Q9c3BhY2UmdWlkPTE0OTc3MTgmZG89dGhyZWFkJnZpZXc9bWUmZnJvbT1zcGFjZQ==" title="https:&#x2F;&#x2F;www.52pojie.cn&#x2F;home.php?mod&#x3D;space&amp;uid&#x3D;1497718&amp;do&#x3D;thread&amp;view&#x3D;me&amp;from&#x3D;space">吾爱破解</span>
        </li>
        <li class="links-of-blogroll-item">
          <span class="exturl" data-url="aHR0cHM6Ly9qdWVqaW4uaW0vdXNlci8yOTk5MTIzNDUyNjI2MzY2" title="https:&#x2F;&#x2F;juejin.im&#x2F;user&#x2F;2999123452626366">掘金</span>
        </li>
        <li class="links-of-blogroll-item">
          <span class="exturl" data-url="aHR0cHM6Ly9zZWdtZW50ZmF1bHQuY29tL3UvbGF6eXRpbWVz" title="https:&#x2F;&#x2F;segmentfault.com&#x2F;u&#x2F;lazytimes">思否</span>
        </li>
    </ul>
  </div>

      </div>

      <div class="wechat_OA">
        <span>欢迎关注我的公众号</span>
        <br>
          <!-- 这里添加你的二维码图片 -->
        <img src ="https://adong-picture.oss-cn-shenzhen.aliyuncs.com/adong/wechat_channel.jpg">
      </div>
        <div class="back-to-top motion-element">
          <i class="fa fa-arrow-up"></i>
          <span>0%</span>
        </div>

    </div>
  </aside>
  <div id="sidebar-dimmer"></div>


      </div>
    </main>

    <footer class="footer">
      <div class="footer-inner">
        

        

<div class="copyright">
  
  &copy; 
  <span itemprop="copyrightYear">2023</span>
  <span class="with-love">
    <i class="fa fa-user"></i>
  </span>
  <span class="author" itemprop="copyrightHolder">阿东</span>
    <span class="post-meta-divider">|</span>
    <span class="post-meta-item-icon">
      <i class="fa fa-area-chart"></i>
    </span>
      <span class="post-meta-item-text">站点总字数：</span>
    <span title="站点总字数">2m</span>
    <span class="post-meta-divider">|</span>
    <span class="post-meta-item-icon">
      <i class="fa fa-coffee"></i>
    </span>
      <span class="post-meta-item-text">站点阅读时长 &asymp;</span>
    <span title="站点阅读时长">29:50</span>
</div>
  <div class="powered-by">由 <span class="exturl theme-link" data-url="aHR0cHM6Ly9oZXhvLmlv">Hexo</span> & <span class="exturl theme-link" data-url="aHR0cHM6Ly90aGVtZS1uZXh0Lm9yZw==">NexT.Gemini</span> 强力驱动
  </div>

        
<div class="busuanzi-count">
  <script async src="https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
    <span class="post-meta-item" id="busuanzi_container_site_uv" style="display: none;">
      <span class="post-meta-item-icon">
        <i class="fa fa-user"></i>
      </span>
      <span class="site-uv" title="总访客量">
        <span id="busuanzi_value_site_uv"></span>
      </span>
    </span>
    <span class="post-meta-divider">|</span>
    <span class="post-meta-item" id="busuanzi_container_site_pv" style="display: none;">
      <span class="post-meta-item-icon">
        <i class="fa fa-eye"></i>
      </span>
      <span class="site-pv" title="总访问量">
        <span id="busuanzi_value_site_pv"></span>
      </span>
    </span>
</div>








      </div>
    </footer>
  </div>

  
  <script src="/lib/anime.min.js"></script>
  <script src="//cdn.jsdelivr.net/npm/jquery@3/dist/jquery.min.js"></script>
  <script src="//cdn.jsdelivr.net/gh/fancyapps/fancybox@3/dist/jquery.fancybox.min.js"></script>
  <script src="/lib/velocity/velocity.min.js"></script>
  <script src="/lib/velocity/velocity.ui.min.js"></script>

<script src="/js/utils.js"></script>

<script src="/js/motion.js"></script>


<script src="/js/schemes/pisces.js"></script>


<script src="/js/next-boot.js"></script>




  




  
<script src="/js/local-search.js"></script>













  

  


<script>
NexT.utils.loadComments(document.querySelector('#valine-comments'), () => {
  NexT.utils.getScript('//unpkg.com/valine/dist/Valine.min.js', () => {
    var GUEST = ['nick', 'mail', 'link'];
    var guest = 'nick,mail,link';
    guest = guest.split(',').filter(item => {
      return GUEST.includes(item);
    });
    new Valine({
      el         : '#valine-comments',
      verify     : false,
      notify     : true,
      appId      : 'qMUpEEvBgXaMDD1b0ftgi9xr-gzGzoHsz',
      appKey     : 'UCdfT4Rfih6MO6y8DI4fstf6',
      placeholder: "Just go go",
      avatar     : 'mm',
      meta       : guest,
      pageSize   : '10' || 10,
      visitor    : false,
      lang       : 'zh-CN' || 'zh-cn',
      path       : location.pathname,
      recordIP   : false,
      serverURLs : ''
    });
  }, window.Valine);
});
</script>

</body>
</html>
